2

区分JavaScript中slice与splice方法

slice()方法是从已有的数组中返回通过索引选定的元素。
  1. 语法:array.slice(startIndex,endIndex)
  2. 参数startIndex是规定从何处开始选取。如果是负数,从数组尾部开始算起始位置。即—1为倒数第一个元素。此参数是必需的。
  3. 参数endIndex是规定何处结束选取的。是可选的。

    var arr = ['apple','banana','lemon','orane'];
    var arr1 = arr.slice(1,3);
    
    结果:
    arr  ["apple", "banana", "lemon", "orane"]
    arr1  ["banana", "lemon"]

    注意:原数组并没有发生改变

splice()是向数组中添加或者删除元素,然后返回的是被删除的元素。
  1. 语法:array.splice(startIndex,howmany,item...)
  2. startIndex规定了添加或者删除元素的起始位置。
    howmany 要删除的元素的数量。如为0,不删除任何一项。
    item 可选的,向数组中要添加的元素。
var arr = ['red','yellow','green'];
var newArr = arr.splice(0,2,'blue','white')

结果:
arr  ["blue", "white", "green"]
newArr ["red", "yellow"]

删除的数量为0的情况:

var arr = ['red','yellow','green'];
var newArr = arr.splice(0,0,'blue','white')
结果:
arr ["blue", "white", "red", "yellow", "green"]
newArr []

**注意:原数组发生了改变。**
**返回的新数组为被删除的元素**

sunshine1213
89 声望3 粉丝

冷眼看世界